// Copyright (c) 2010, SMB SAAS Systems Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  SMB SAAS Systems Inc.  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace dotPanel.Server
{
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;


    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "WindowsServerSoap", Namespace = "http://smbsaas/dotpanel/server/")]
    public partial class WindowsServer : Microsoft.Web.Services3.WebServicesClientProtocol
    {

        private System.Threading.SendOrPostCallback GetTerminalServicesSessionsOperationCompleted;

        private System.Threading.SendOrPostCallback CloseTerminalServicesSessionOperationCompleted;

        private System.Threading.SendOrPostCallback GetWindowsProcessesOperationCompleted;

        private System.Threading.SendOrPostCallback TerminateWindowsProcessOperationCompleted;

        private System.Threading.SendOrPostCallback GetWindowsServicesOperationCompleted;

        private System.Threading.SendOrPostCallback ChangeWindowsServiceStatusOperationCompleted;

        private System.Threading.SendOrPostCallback GetLogNamesOperationCompleted;

        private System.Threading.SendOrPostCallback GetLogEntriesOperationCompleted;

        private System.Threading.SendOrPostCallback GetLogEntriesPagedOperationCompleted;

        private System.Threading.SendOrPostCallback ClearLogOperationCompleted;

        private System.Threading.SendOrPostCallback RebootSystemOperationCompleted;

        private System.Threading.SendOrPostCallback ExecuteSystemCommandOperationCompleted;

        /// <remarks/>
        public WindowsServer()
        {
            this.Url = "http://localhost/dotPanelServer/WindowsServer.asmx";
        }

        /// <remarks/>
        public event GetTerminalServicesSessionsCompletedEventHandler GetTerminalServicesSessionsCompleted;

        /// <remarks/>
        public event CloseTerminalServicesSessionCompletedEventHandler CloseTerminalServicesSessionCompleted;

        /// <remarks/>
        public event GetWindowsProcessesCompletedEventHandler GetWindowsProcessesCompleted;

        /// <remarks/>
        public event TerminateWindowsProcessCompletedEventHandler TerminateWindowsProcessCompleted;

        /// <remarks/>
        public event GetWindowsServicesCompletedEventHandler GetWindowsServicesCompleted;

        /// <remarks/>
        public event ChangeWindowsServiceStatusCompletedEventHandler ChangeWindowsServiceStatusCompleted;

        /// <remarks/>
        public event GetLogNamesCompletedEventHandler GetLogNamesCompleted;

        /// <remarks/>
        public event GetLogEntriesCompletedEventHandler GetLogEntriesCompleted;

        /// <remarks/>
        public event GetLogEntriesPagedCompletedEventHandler GetLogEntriesPagedCompleted;

        /// <remarks/>
        public event ClearLogCompletedEventHandler ClearLogCompleted;

        /// <remarks/>
        public event RebootSystemCompletedEventHandler RebootSystemCompleted;

        /// <remarks/>
        public event ExecuteSystemCommandCompletedEventHandler ExecuteSystemCommandCompleted;

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetTerminalServicesSessions", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public TerminalSession[] GetTerminalServicesSessions()
        {
            object[] results = this.Invoke("GetTerminalServicesSessions", new object[0]);
            return ((TerminalSession[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetTerminalServicesSessions(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetTerminalServicesSessions", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public TerminalSession[] EndGetTerminalServicesSessions(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((TerminalSession[])(results[0]));
        }

        /// <remarks/>
        public void GetTerminalServicesSessionsAsync()
        {
            this.GetTerminalServicesSessionsAsync(null);
        }

        /// <remarks/>
        public void GetTerminalServicesSessionsAsync(object userState)
        {
            if ((this.GetTerminalServicesSessionsOperationCompleted == null))
            {
                this.GetTerminalServicesSessionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTerminalServicesSessionsOperationCompleted);
            }
            this.InvokeAsync("GetTerminalServicesSessions", new object[0], this.GetTerminalServicesSessionsOperationCompleted, userState);
        }

        private void OnGetTerminalServicesSessionsOperationCompleted(object arg)
        {
            if ((this.GetTerminalServicesSessionsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTerminalServicesSessionsCompleted(this, new GetTerminalServicesSessionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CloseTerminalServicesSession", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CloseTerminalServicesSession(int sessionId)
        {
            this.Invoke("CloseTerminalServicesSession", new object[] {
                        sessionId});
        }

        /// <remarks/>
        public System.IAsyncResult BeginCloseTerminalServicesSession(int sessionId, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CloseTerminalServicesSession", new object[] {
                        sessionId}, callback, asyncState);
        }

        /// <remarks/>
        public void EndCloseTerminalServicesSession(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void CloseTerminalServicesSessionAsync(int sessionId)
        {
            this.CloseTerminalServicesSessionAsync(sessionId, null);
        }

        /// <remarks/>
        public void CloseTerminalServicesSessionAsync(int sessionId, object userState)
        {
            if ((this.CloseTerminalServicesSessionOperationCompleted == null))
            {
                this.CloseTerminalServicesSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCloseTerminalServicesSessionOperationCompleted);
            }
            this.InvokeAsync("CloseTerminalServicesSession", new object[] {
                        sessionId}, this.CloseTerminalServicesSessionOperationCompleted, userState);
        }

        private void OnCloseTerminalServicesSessionOperationCompleted(object arg)
        {
            if ((this.CloseTerminalServicesSessionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CloseTerminalServicesSessionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetWindowsProcesses", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public WindowsProcess[] GetWindowsProcesses()
        {
            object[] results = this.Invoke("GetWindowsProcesses", new object[0]);
            return ((WindowsProcess[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetWindowsProcesses(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetWindowsProcesses", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public WindowsProcess[] EndGetWindowsProcesses(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((WindowsProcess[])(results[0]));
        }

        /// <remarks/>
        public void GetWindowsProcessesAsync()
        {
            this.GetWindowsProcessesAsync(null);
        }

        /// <remarks/>
        public void GetWindowsProcessesAsync(object userState)
        {
            if ((this.GetWindowsProcessesOperationCompleted == null))
            {
                this.GetWindowsProcessesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWindowsProcessesOperationCompleted);
            }
            this.InvokeAsync("GetWindowsProcesses", new object[0], this.GetWindowsProcessesOperationCompleted, userState);
        }

        private void OnGetWindowsProcessesOperationCompleted(object arg)
        {
            if ((this.GetWindowsProcessesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetWindowsProcessesCompleted(this, new GetWindowsProcessesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/TerminateWindowsProcess", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void TerminateWindowsProcess(int pid)
        {
            this.Invoke("TerminateWindowsProcess", new object[] {
                        pid});
        }

        /// <remarks/>
        public System.IAsyncResult BeginTerminateWindowsProcess(int pid, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("TerminateWindowsProcess", new object[] {
                        pid}, callback, asyncState);
        }

        /// <remarks/>
        public void EndTerminateWindowsProcess(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void TerminateWindowsProcessAsync(int pid)
        {
            this.TerminateWindowsProcessAsync(pid, null);
        }

        /// <remarks/>
        public void TerminateWindowsProcessAsync(int pid, object userState)
        {
            if ((this.TerminateWindowsProcessOperationCompleted == null))
            {
                this.TerminateWindowsProcessOperationCompleted = new System.Threading.SendOrPostCallback(this.OnTerminateWindowsProcessOperationCompleted);
            }
            this.InvokeAsync("TerminateWindowsProcess", new object[] {
                        pid}, this.TerminateWindowsProcessOperationCompleted, userState);
        }

        private void OnTerminateWindowsProcessOperationCompleted(object arg)
        {
            if ((this.TerminateWindowsProcessCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.TerminateWindowsProcessCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetWindowsServices", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public WindowsService[] GetWindowsServices()
        {
            object[] results = this.Invoke("GetWindowsServices", new object[0]);
            return ((WindowsService[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetWindowsServices(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetWindowsServices", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public WindowsService[] EndGetWindowsServices(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((WindowsService[])(results[0]));
        }

        /// <remarks/>
        public void GetWindowsServicesAsync()
        {
            this.GetWindowsServicesAsync(null);
        }

        /// <remarks/>
        public void GetWindowsServicesAsync(object userState)
        {
            if ((this.GetWindowsServicesOperationCompleted == null))
            {
                this.GetWindowsServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWindowsServicesOperationCompleted);
            }
            this.InvokeAsync("GetWindowsServices", new object[0], this.GetWindowsServicesOperationCompleted, userState);
        }

        private void OnGetWindowsServicesOperationCompleted(object arg)
        {
            if ((this.GetWindowsServicesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetWindowsServicesCompleted(this, new GetWindowsServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/ChangeWindowsServiceStatus", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ChangeWindowsServiceStatus(string id, WindowsServiceStatus status)
        {
            this.Invoke("ChangeWindowsServiceStatus", new object[] {
                        id,
                        status});
        }

        /// <remarks/>
        public System.IAsyncResult BeginChangeWindowsServiceStatus(string id, WindowsServiceStatus status, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("ChangeWindowsServiceStatus", new object[] {
                        id,
                        status}, callback, asyncState);
        }

        /// <remarks/>
        public void EndChangeWindowsServiceStatus(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void ChangeWindowsServiceStatusAsync(string id, WindowsServiceStatus status)
        {
            this.ChangeWindowsServiceStatusAsync(id, status, null);
        }

        /// <remarks/>
        public void ChangeWindowsServiceStatusAsync(string id, WindowsServiceStatus status, object userState)
        {
            if ((this.ChangeWindowsServiceStatusOperationCompleted == null))
            {
                this.ChangeWindowsServiceStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeWindowsServiceStatusOperationCompleted);
            }
            this.InvokeAsync("ChangeWindowsServiceStatus", new object[] {
                        id,
                        status}, this.ChangeWindowsServiceStatusOperationCompleted, userState);
        }

        private void OnChangeWindowsServiceStatusOperationCompleted(object arg)
        {
            if ((this.ChangeWindowsServiceStatusCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeWindowsServiceStatusCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetLogNames", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetLogNames()
        {
            object[] results = this.Invoke("GetLogNames", new object[0]);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetLogNames(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetLogNames", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public string[] EndGetLogNames(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public void GetLogNamesAsync()
        {
            this.GetLogNamesAsync(null);
        }

        /// <remarks/>
        public void GetLogNamesAsync(object userState)
        {
            if ((this.GetLogNamesOperationCompleted == null))
            {
                this.GetLogNamesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogNamesOperationCompleted);
            }
            this.InvokeAsync("GetLogNames", new object[0], this.GetLogNamesOperationCompleted, userState);
        }

        private void OnGetLogNamesOperationCompleted(object arg)
        {
            if ((this.GetLogNamesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLogNamesCompleted(this, new GetLogNamesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetLogEntries", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemLogEntry[] GetLogEntries(string logName)
        {
            object[] results = this.Invoke("GetLogEntries", new object[] {
                        logName});
            return ((SystemLogEntry[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetLogEntries(string logName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetLogEntries", new object[] {
                        logName}, callback, asyncState);
        }

        /// <remarks/>
        public SystemLogEntry[] EndGetLogEntries(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemLogEntry[])(results[0]));
        }

        /// <remarks/>
        public void GetLogEntriesAsync(string logName)
        {
            this.GetLogEntriesAsync(logName, null);
        }

        /// <remarks/>
        public void GetLogEntriesAsync(string logName, object userState)
        {
            if ((this.GetLogEntriesOperationCompleted == null))
            {
                this.GetLogEntriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogEntriesOperationCompleted);
            }
            this.InvokeAsync("GetLogEntries", new object[] {
                        logName}, this.GetLogEntriesOperationCompleted, userState);
        }

        private void OnGetLogEntriesOperationCompleted(object arg)
        {
            if ((this.GetLogEntriesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLogEntriesCompleted(this, new GetLogEntriesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetLogEntriesPaged", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemLogEntriesPaged GetLogEntriesPaged(string logName, int startRow, int maximumRows)
        {
            object[] results = this.Invoke("GetLogEntriesPaged", new object[] {
                        logName,
                        startRow,
                        maximumRows});
            return ((SystemLogEntriesPaged)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetLogEntriesPaged(string logName, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetLogEntriesPaged", new object[] {
                        logName,
                        startRow,
                        maximumRows}, callback, asyncState);
        }

        /// <remarks/>
        public SystemLogEntriesPaged EndGetLogEntriesPaged(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemLogEntriesPaged)(results[0]));
        }

        /// <remarks/>
        public void GetLogEntriesPagedAsync(string logName, int startRow, int maximumRows)
        {
            this.GetLogEntriesPagedAsync(logName, startRow, maximumRows, null);
        }

        /// <remarks/>
        public void GetLogEntriesPagedAsync(string logName, int startRow, int maximumRows, object userState)
        {
            if ((this.GetLogEntriesPagedOperationCompleted == null))
            {
                this.GetLogEntriesPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogEntriesPagedOperationCompleted);
            }
            this.InvokeAsync("GetLogEntriesPaged", new object[] {
                        logName,
                        startRow,
                        maximumRows}, this.GetLogEntriesPagedOperationCompleted, userState);
        }

        private void OnGetLogEntriesPagedOperationCompleted(object arg)
        {
            if ((this.GetLogEntriesPagedCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLogEntriesPagedCompleted(this, new GetLogEntriesPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/ClearLog", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ClearLog(string logName)
        {
            this.Invoke("ClearLog", new object[] {
                        logName});
        }

        /// <remarks/>
        public System.IAsyncResult BeginClearLog(string logName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("ClearLog", new object[] {
                        logName}, callback, asyncState);
        }

        /// <remarks/>
        public void EndClearLog(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void ClearLogAsync(string logName)
        {
            this.ClearLogAsync(logName, null);
        }

        /// <remarks/>
        public void ClearLogAsync(string logName, object userState)
        {
            if ((this.ClearLogOperationCompleted == null))
            {
                this.ClearLogOperationCompleted = new System.Threading.SendOrPostCallback(this.OnClearLogOperationCompleted);
            }
            this.InvokeAsync("ClearLog", new object[] {
                        logName}, this.ClearLogOperationCompleted, userState);
        }

        private void OnClearLogOperationCompleted(object arg)
        {
            if ((this.ClearLogCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ClearLogCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/RebootSystem", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void RebootSystem()
        {
            this.Invoke("RebootSystem", new object[0]);
        }

        /// <remarks/>
        public System.IAsyncResult BeginRebootSystem(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("RebootSystem", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public void EndRebootSystem(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void RebootSystemAsync()
        {
            this.RebootSystemAsync(null);
        }

        /// <remarks/>
        public void RebootSystemAsync(object userState)
        {
            if ((this.RebootSystemOperationCompleted == null))
            {
                this.RebootSystemOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRebootSystemOperationCompleted);
            }
            this.InvokeAsync("RebootSystem", new object[0], this.RebootSystemOperationCompleted, userState);
        }

        private void OnRebootSystemOperationCompleted(object arg)
        {
            if ((this.RebootSystemCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RebootSystemCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/ExecuteSystemCommand", RequestNamespace = "http://smbsaas/dotpanel/server/", ResponseNamespace = "http://smbsaas/dotpanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string ExecuteSystemCommand(string path, string args)
        {
            object[] results = this.Invoke("ExecuteSystemCommand", new object[] {
                        path,
                        args});
            return ((string)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginExecuteSystemCommand(string path, string args, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("ExecuteSystemCommand", new object[] {
                        path,
                        args}, callback, asyncState);
        }

        /// <remarks/>
        public string EndExecuteSystemCommand(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }

        /// <remarks/>
        public void ExecuteSystemCommandAsync(string path, string args)
        {
            this.ExecuteSystemCommandAsync(path, args, null);
        }

        /// <remarks/>
        public void ExecuteSystemCommandAsync(string path, string args, object userState)
        {
            if ((this.ExecuteSystemCommandOperationCompleted == null))
            {
                this.ExecuteSystemCommandOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExecuteSystemCommandOperationCompleted);
            }
            this.InvokeAsync("ExecuteSystemCommand", new object[] {
                        path,
                        args}, this.ExecuteSystemCommandOperationCompleted, userState);
        }

        private void OnExecuteSystemCommandOperationCompleted(object arg)
        {
            if ((this.ExecuteSystemCommandCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExecuteSystemCommandCompleted(this, new ExecuteSystemCommandCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }


    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetTerminalServicesSessionsCompletedEventHandler(object sender, GetTerminalServicesSessionsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTerminalServicesSessionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetTerminalServicesSessionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public TerminalSession[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((TerminalSession[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CloseTerminalServicesSessionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetWindowsProcessesCompletedEventHandler(object sender, GetWindowsProcessesCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetWindowsProcessesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetWindowsProcessesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public WindowsProcess[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((WindowsProcess[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void TerminateWindowsProcessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetWindowsServicesCompletedEventHandler(object sender, GetWindowsServicesCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetWindowsServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetWindowsServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public WindowsService[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((WindowsService[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ChangeWindowsServiceStatusCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetLogNamesCompletedEventHandler(object sender, GetLogNamesCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLogNamesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetLogNamesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetLogEntriesCompletedEventHandler(object sender, GetLogEntriesCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLogEntriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetLogEntriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SystemLogEntry[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SystemLogEntry[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetLogEntriesPagedCompletedEventHandler(object sender, GetLogEntriesPagedCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLogEntriesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetLogEntriesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SystemLogEntriesPaged Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SystemLogEntriesPaged)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ClearLogCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RebootSystemCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ExecuteSystemCommandCompletedEventHandler(object sender, ExecuteSystemCommandCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ExecuteSystemCommandCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal ExecuteSystemCommandCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
}
